﻿#region

using System;
using System.Data;
using System.Web;
using System.Web.Script.Services;
using System.Web.Services;
using System.Web.UI;
using System.Web.UI.WebControls;
using DataInfo;
using KenLib.BusinessManager;
using KenLib.BusinessObject;

#endregion

public partial class Org_frmO_AppCompBasicInput : Page
{
    /// <summary>
    ///   Handles the Load event of the Page control.
    /// </summary>
    /// <param name = "sender">The source of the event.</param>
    /// <param name = "e">The <see cref = "System.EventArgs" /> instance containing the event data.</param>
    protected void Page_Load(object sender, EventArgs e)
    {
        ((Org_MasterPage) Master).changeTitle("組合員企業新規追加登録");
        ((Org_MasterPage) Master).HideLiArea("frmO_AppCompBasicInput");
        if (Session["役"] == null)
        {
            Response.Redirect("~/frmD_Login.aspx");
        }

        loadID();
        if (!IsPostBack)
        {
            loadDDL_組合名();
            loadDDl_組合担当者1("-1");
            loadDDl_組合担当者2("-1");
            string err1 = getError("ER00001");
            string err2 = getError("ER00002");
            string err9 = getError("ER00009");
            txt_企業グループコード.Focus();
            //vld_txt_企業コード.ErrorMessage = "企業コード" + err1;
            vld_txt_組合員企業名.ErrorMessage = err1;
            vld_ddl_組合担当者1.ErrorMessage = getError("ER00007");
            //vld_txt_企業コード_format.ErrorMessage = err2;
            vld_txt_企業グループコード_format.ErrorMessage = err2;
            vld_txt_企業グループコード_format1.ErrorMessage = err2;
            vld_txt_JITCO賛助会員番号_format.ErrorMessage = err2;
            vld_txt_JITCO賛助会員番号_format1.ErrorMessage = err2;
            vld_ddl_組合担当者2.ErrorMessage = err9;
            vld_checkExist.ErrorMessage = err9;
            rqf_ddl_組合名.ErrorMessage = getError("ER00007");

            //vld_txt_企業コード_exist.ErrorMessage = err9;

            if (Convert.ToInt32(HttpContext.Current.Session["役"]) == 1)
            {
                lbl_組合名.Visible = false;
                ddl_組合名.Visible = true;
            }
            else if (Session["人コード"] != null)
            {
                frmO_AppCompBasicInputManager AppCompBasicInputManager = new frmO_AppCompBasicInputManager();
                DataTable dt = AppCompBasicInputManager.get本社情報(HttpContext.Current.Session["人コード"].ToString());
                if (dt != null && dt.Rows.Count > 0)
                {
                    lbl_組合名.Text = dt.Rows[dt.Rows.Count - 1][1].ToString();
                    loadDDl_組合担当者1(dt.Rows[dt.Rows.Count - 1][0].ToString());
                    loadDDl_組合担当者2(dt.Rows[dt.Rows.Count - 1][0].ToString());
                }

                lbl_組合名.Visible = true;
                ddl_組合名.Visible = false;
            }


            if (Session["本社情報"] != null)
            {
                本社情報 obj本社情報 = new 本社情報();
                obj本社情報 = (本社情報) Session["本社情報"];
                //lbl_企業コード.Text = obj本社情報.企業コード;
                txt_JITCO賛助会員番号.Text = obj本社情報.JITCO賛助会員番号;
                txt_企業グループコード.Text = obj本社情報.企業グループコード;
                txt_組合員企業名.Text = obj本社情報.企業名;
                //txt_郵便番号.Text = obj本社情報.郵便番号;

                ddl_組合名.SelectedValue = obj本社情報.企業ID.ToString();
                loadDDl_組合担当者1(ddl_組合名.SelectedValue);
                loadDDl_組合担当者2(ddl_組合名.SelectedValue);
                ddl_組合担当者1.SelectedValue = obj本社情報.担当１社員ID.ToString();
                ddl_組合担当者2.SelectedValue = obj本社情報.担当２社員ID.ToString();
                chk_組合員企業.Checked = (bool) Session["組合員企業"];
                vld_checkExist.Validate();
                if (vld_checkExist.IsValid == false)
                {
                    txt_組合員企業名.Focus();
                }
                //Session.Remove("本社情報");
            }
            Session.Remove("本社情報1");
            if (vld_checkExist.IsValid)
            {
                Session.Remove("拠点情報");
            }
        }
    }

    /// <summary>
    ///   EVENT: 確認 click
    /// </summary>
    /// <param name = "sender">The source of the event.</param>
    /// <param name = "e">The <see cref = "System.EventArgs" /> instance containing the event data.</param>
    protected void btn確認_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            if (Session["役"] != null && Session["人コード"] != null)
            {
                //if (checkExist())
                {
                    本社情報 obj本社情報 = new 本社情報();
                    //obj本社情報.企業コード = lbl_企業コード.Text;
                    obj本社情報.企業グループコード = txt_企業グループコード.Text;
                    //string zipcode = txt_郵便番号.Text.Replace("-", "").Replace("_", "");
                    //if (zipcode == "")
                    //{
                    //    obj本社情報.郵便番号 = "";
                    //}
                    //else
                    //{
                    //    //obj本社情報.郵便番号 = txt_郵便番号.Text;
                    //}
                    obj本社情報.企業名 = txt_組合員企業名.Text;
                    obj本社情報.代表者１氏名 = ddl_組合担当者1.SelectedItem.Text;
                    obj本社情報.担当１社員ID = Convert.ToInt32(ddl_組合担当者1.SelectedValue);

                    if (ddl_組合担当者2.SelectedValue != "-1")
                    {
                        obj本社情報.代表者２氏名 = ddl_組合担当者2.SelectedItem.Text;
                        obj本社情報.担当２社員ID = Convert.ToInt32(ddl_組合担当者2.SelectedValue);
                    }
                    else
                    {
                        obj本社情報.代表者２氏名 = "";
                    }
                    obj本社情報.企業ID = Convert.ToInt32(ddl_組合名.SelectedValue);
                    obj本社情報.JITCO賛助会員番号 = txt_JITCO賛助会員番号.Text;
                    HttpContext.Current.Session["本社情報"] = obj本社情報;

                    String 企業属性情報 = ddl_組合名.SelectedValue;
                    String Name_企業属性情報 = ddl_組合名.SelectedItem.Text;

                    HttpContext.Current.Session["企業属性情報"] = 企業属性情報;
                    HttpContext.Current.Session["Name_企業属性情報"] = Name_企業属性情報;
                    HttpContext.Current.Session["組合員企業"] = chk_組合員企業.Checked;

                    ユーザログイン objユーザログイン = new ユーザログイン();
                    //objユーザログイン.企業コード = lbl_企業コード.Text;
                    objユーザログイン.人コード = ddl_組合担当者1.SelectedValue;
                    objユーザログイン.更新者 = Session["人コード"].ToString();

                    Session["ユーザログイン"] = objユーザログイン;

                    Response.Redirect("frmO_AppCompBasicCheck.aspx");
                }
                //else
                //{
                //    //RegisterStartupScript("error","<script>alert('" + getError("ER00009") + "') </script>");
                //    loadID();
                //}
            }
        }
    }

    /// <summary>
    ///   Get Error Message from Database
    /// </summary>
    /// <param name = "errorid">The errorid.</param>
    /// <returns></returns>
    protected string getError(string errorid)
    {
        ErrorManager errorManager = new ErrorManager();
        Error error = new Error();
        error.ErrorID = errorid;
        return errorManager.getError(error).Rows[0]["ERROR_CONTENT_JP"].ToString();
    }

    /// <summary>
    ///   Set Max 企業コード to label lbl_企業コード
    /// </summary>
    private void loadID()
    {
        frmO_AppCompBasicInputManager AppCompBasicInputManager = new frmO_AppCompBasicInputManager();
        string ID = AppCompBasicInputManager.getMax企業コード().Rows[0][0].ToString();
        ID = "0000" + ID;
        ID = ID.Remove(0, ID.Length - 4);
        //lbl_企業コード.Text = ID;
    }

    /// <summary>
    ///   Load dropdownlist 組合担当者1 by id loadDDL_組合名
    /// </summary>
    /// <param name = "id">The id.</param>
    private void loadDDl_組合担当者1(string id)
    {
        ddl_組合担当者1.Items.Clear();
        ddl_組合担当者1.Items.Add(new ListItem("[選択]", "-1"));
        if (id != "-1")
        {
            frmO_AppCompBasicInputManager AppCompBasicInputManager = new frmO_AppCompBasicInputManager();
            foreach (DataRow dtr in AppCompBasicInputManager.get組合担当者(id).Rows)
            {
                ddl_組合担当者1.Items.Add(new ListItem(dtr[1].ToString(), dtr[0].ToString()));
            }
        }
        ddl_組合担当者1.SelectedValue = "-1";
    }

    /// <summary>
    ///   Load dropdownlist 組合担当者2 by id loadDDL_組合名
    /// </summary>
    /// <param name = "id">The id.</param>
    private void loadDDl_組合担当者2(string id)
    {
        ddl_組合担当者2.Items.Clear();
        ddl_組合担当者2.Items.Add(new ListItem("[選択]", "-1"));
        if (id != "-1")
        {
            frmO_AppCompBasicInputManager AppCompBasicInputManager = new frmO_AppCompBasicInputManager();
            foreach (DataRow dtr in AppCompBasicInputManager.get組合担当者(id).Rows)
            {
                ddl_組合担当者2.Items.Add(new ListItem(dtr[1].ToString(), dtr[0].ToString()));
            }
        }
        ddl_組合担当者2.SelectedValue = "-1";
    }

    /// <summary>
    ///   Load dropdownlist 組合名
    /// </summary>
    private void loadDDL_組合名()
    {
        ddl_組合名.Items.Clear();

        if (Convert.ToInt32(Session["役"]) == 1)
        {
            ddl_組合名.Items.Add(new ListItem("[選択]", "-1"));
            frmO_AppCompBasicInputManager AppCompBasicInputManager = new frmO_AppCompBasicInputManager();
            foreach (DataRow dtr in AppCompBasicInputManager.get本社情報("").Rows)
            {
                ddl_組合名.Items.Add(new ListItem(dtr[1].ToString(), dtr[0].ToString()));
            }
            ddl_組合名.SelectedValue = "-1";
        }
        else
        {
            frmO_AppCompBasicInputManager AppCompBasicInputManager = new frmO_AppCompBasicInputManager();
            if (Session["人コード"] != null)
            {
                foreach (DataRow dtr in AppCompBasicInputManager.get本社情報(Session["人コード"].ToString()).Rows)
                {
                    ddl_組合名.Items.Add(new ListItem(dtr[1].ToString(), dtr[0].ToString()));
                    break;
                }
            }
        }
    }

    protected void btnリセット_Click(object sender, EventArgs e)
    {
        Session.Remove("本社情報");
        Session.Remove("本社情報1");
        Session.Remove("拠点情報");
        Session.Remove("ユーザログイン");
        Response.Redirect("frmO_AppCompBasicInput.aspx");
    }


    /// <summary>
    ///   EVENT:
    /// </summary>
    /// <param name = "sender"></param>
    /// <param name = "e"></param>
    protected void ddl_組合名_SelectedIndexChanged(object sender, EventArgs e)
    {
        //System.Threading.Thread.Sleep(50000);
        Title = "組合員企業新規追加登録";
        loadDDl_組合担当者1(ddl_組合名.SelectedValue);
        loadDDl_組合担当者2(ddl_組合名.SelectedValue);
        ddl_組合担当者1.Focus();
        rqf_ddl_組合名.Validate();
        regisEvent();
    }

    private void regisEvent()
    {
        string script = "regist();";
        ScriptManager.RegisterStartupScript(up, up.GetType(), "reg", script, true);
    }

    [WebMethod, ScriptMethod]
    public static string GetDynamicContent(string contextKey)
    {
        return default(string);
    }

    /// <summary>
    ///   Checks the exist.
    /// </summary>
    /// <param name = "source">The source.</param>
    /// <param name = "args">The <see cref = "System.Web.UI.WebControls.ServerValidateEventArgs" /> instance containing the event data.</param>
    protected void checkExist(object source, ServerValidateEventArgs args)
    {
        frmO_AppCompBasicInputManager AppCompBasicInputManager = new frmO_AppCompBasicInputManager();
        args.IsValid = AppCompBasicInputManager.checkExist企業名(txt_組合員企業名.Text, Convert.ToInt32(ddl_組合名.SelectedValue));
        hdf_企業名.Value = txt_組合員企業名.Text;
        hdf_組合名.Value = ddl_組合名.SelectedValue;
        if (args.IsValid == false)
        {
            txt_組合員企業名.Focus();
        }
    }
}